package com.apollographql.apollo;

import com.apollographql.apollo.ApolloCall;
import com.apollographql.apollo.api.Operation;
import com.apollographql.apollo.api.Query;
import com.apollographql.apollo.api.cache.http.HttpCachePolicy;
import com.apollographql.apollo.cache.CacheHeaders;
import com.apollographql.apollo.fetcher.ResponseFetcher;
import com.apollographql.apollo.request.RequestHeaders;

public interface ApolloQueryCall<T> extends ApolloCall<T> {

    /* renamed from: com.apollographql.apollo.ApolloQueryCall$-CC  reason: invalid class name */
    public final /* synthetic */ class CC {
    }

    public interface Builder<T> extends ApolloCall.Builder<T> {

        /* renamed from: com.apollographql.apollo.ApolloQueryCall$Builder$-CC  reason: invalid class name */
        public final /* synthetic */ class CC {
        }

        @Override // com.apollographql.apollo.ApolloCall.Builder
        ApolloQueryCall<T> build();

        @Override // com.apollographql.apollo.ApolloCall.Builder
        Builder<T> cacheHeaders(CacheHeaders cacheHeaders);

        Builder<T> httpCachePolicy(HttpCachePolicy.Policy policy);

        Builder<T> requestHeaders(RequestHeaders requestHeaders);

        Builder<T> responseFetcher(ResponseFetcher responseFetcher);
    }

    public interface Factory {
        <D extends Operation.Data, T, V extends Operation.Variables> ApolloQueryCall<T> query(Query<D, T, V> query);
    }

    @Override // com.apollographql.apollo.ApolloCall
    @Deprecated
    ApolloQueryCall<T> cacheHeaders(CacheHeaders cacheHeaders);

    @Override // com.apollographql.apollo.ApolloCall
    @Deprecated
    ApolloQueryCall<T> clone();

    @Deprecated
    ApolloQueryCall<T> httpCachePolicy(HttpCachePolicy.Policy policy);

    @Deprecated
    ApolloQueryCall<T> requestHeaders(RequestHeaders requestHeaders);

    @Deprecated
    ApolloQueryCall<T> responseFetcher(ResponseFetcher responseFetcher);

    @Override // com.apollographql.apollo.ApolloCall
    Builder<T> toBuilder();

    ApolloQueryWatcher<T> watcher();
}
